home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-28 | 716 b | 38 lines | [TEXT/CWIE] |
- // MenuSection.h
-
- #ifndef MenuSection_h
- #define MenuSection_h
-
- #ifndef Menu_h
- #include "Menu.h"
- #endif
-
- class MenuSection
- {
- friend class SingleMenuItem;
- friend class FixedMenuSection;
- friend class ExtensibleMenuSection;
-
- private:
- Menu& menu;
- const uint16 firstItem;
- const uint16 maxLength;
-
- enum Extensible { extensible };
-
- MenuSection( Menu&, uint16 length );
- MenuSection( Menu&, Extensible );
-
- public:
- MenuItem operator[]( uint16 i ) const
- { Assert( i < maxLength ); return menu[ firstItem + i ]; }
-
- uint16 FirstItem() const { return firstItem; }
- uint16 MaxLength() const { return maxLength; }
-
- virtual void Prepare() = 0;
- virtual void Choose( uint16 ) = 0;
- };
-
- #endif
-